/*
  pakeJson的注释文件
*/

module.exports = {
  'name': 'webpack_react',
  'version': '1.0.0',
  'description': '',
  'main': 'index.js',
  'scripts': {
    'build:client': 'webpack --config build/webpack.config.client.js',
    'build:server': 'webpack --config build/webpack.config.server.js',
    'dev:client': 'cross-env NODE_ENV=development webpack-dev-server --config build/webpack.config.client.js',
    'dev:server': 'cross-env NODE_ENV=development node server/server.js',
    // 用作每次打包时,自动删除dist
    'clear': 'rimraf dist',
    'build': 'npm run clear && npm run build:client && npm run build:server',
    'start': 'cross-env NODE_ENV=production node server/server.js'
  },
  'author': 'Phoebe',
  'license': 'ISC',

  // 开发模块
  'devDependencies': {
    // babel插件的核心js
    'babel-core': '^6.26.0',
    // 客户端模式下,.eslintrc需要使用该插件校验代码
    'babel-eslint': '^8.2.2',
    // babel-loader,用来编译最新的js语法,使得浏览器可以识别
    'babel-loader': '^7.1.4',
    // babel编译装饰器语法
    'babel-plugin-transform-decorators-legacy': '^1.3.4',
    // 三个babel的安装都是在.babelrc上配置的
    'babel-preset-es2015': '^6.24.1',
    'babel-preset-es2015-loose': '^8.0.0',
    'babel-preset-react': '^6.24.1',
    // babel编译mobx语法
    'babel-preset-stage-1': '^6.24.1',
    // 用来处理Linux环境下运行配置
    'cross-env': '^5.1.4',
    // 校验代码规范,部分是eslint-config-airbnb的依赖
    'eslint': '^4.19.1',
    'eslint-config-airbnb': '^16.1.0',
    'eslint-config-standard': '^11.0.0',
    'eslint-loader': '^2.0.0',
    'eslint-plugin-import': '^2.10.0',
    'eslint-plugin-jsx-a11y': '^6.0.3',
    'eslint-plugin-node': '^6.0.1',
    'eslint-plugin-promise': '^3.7.0',
    'eslint-plugin-react': '^7.7.0',
    'eslint-plugin-standard': '^3.0.1',
    'file-loader': '^1.1.11',
    // 生成html文件
    'html-webpack-plugin': '^3.1.0',
    // 用于express做代理的
    'http-proxy-middleware': '^0.18.0',
    // 用来在内存里操作文件,fs是操作硬盘文件
    'memory-fs': '^0.4.1',
    // 用于webpack打包上线优化异步模块的打包插件
    'name-all-modules-plugin': '^1.0.1',
    // 用来当服务端代码有所改变时,自重启服务
    'nodemon': '^1.17.3',
    // 用来编译hot-module-replacement
    'react-hot-loader': '^4.0.0',
    // 用来删除文件
    'rimraf': '^2.6.2',
    // webpack压缩js代码
    'uglifyjs-webpack-plugin': '^1.2.5',
    'webpack': '^4.5.0',
    'webpack-cli': '^2.0.13',
    // 启动webpack的devServer
    'webpack-dev-server': '^3.1.1',
    // webpack提供用来合并webpack配置的工具
    'webpack-merge': '^4.1.2'
  },

  // 依赖模块
  'dependencies': {
    'axios': '^0.18.0',
    // 把服务器返回的数据转换为json
    'body-parser': '^1.18.2',
    // 帮助我们合并className
    'classnames': '^2.2.5',
    // 过滤时间格式
    'dateformat': '^3.0.3',
    // 编译ejs
    'ejs': '^2.5.8',
    'ejs-compiled-loader': '^1.1.0',
    'express': '^4.16.3',
    'express-session': '^1.15.6',
    'jss': '^9.8.1',
    // jss在服务端生成jss的样式
    'jss-preset-default': '^4.3.0',
    // 解析后台传过来的内容变成html
    'marked': '^0.3.19',
    'material-ui': '^1.0.0-beta.41',
    'material-ui-icons': '^1.0.0-beta.36',
    'mobx': '^4.1.1',
    // mobx连接react的工具
    'mobx-react': '^5.0.0',
    // react为props定义类型
    'prop-types': '^15.6.1',
    // 解析接口的url
    'query-string': '^6.0.0',
    'react': '^16.3.1',
    // react处理异步数据
    'react-async-bootstrapper': '^2.1.0',
    'react-dom': '^16.3.0',
    // 用于每个router页面设置不用的title
    'react-helmet': '^5.2.0',
    'react-jss': '^8.4.0',
    'react-router': '^4.2.0',
    'react-router-dom': '^4.2.2',
    // 序列化javascript对象
    'serialize-javascript': '^1.4.0',
    // express一个专门处理favicon的插件
    'serve-favicon': '^2.5.0'
  }
}
